package cn.template.serve_project.service;


import cn.template.serve_project.dto.excel.ExcelUserDTO;
import cn.template.serve_project.dto.user.UserAddDTO;
import cn.template.serve_project.dto.user.UserPageDTO;
import cn.template.serve_project.dto.user.UserUpdateDTO;
import cn.template.serve_project.entity.User;
import cn.template.serve_project.vo.user.UserPageVO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 用户表(User)表服务接口
 */
public interface UserService extends IService<User> {

    /**
     * 新增用户
     *
     * @param dto 参数对象
     */
    void addUser(UserAddDTO dto);


    /**
     * 分页查询用户信息
     *
     * @param dto 参数对象
     * @return 数据列表
     */
    /**
     * 分页查询用户信息
     *
     * @param dto 参数对象
     * @return 数据列表
     */
    UserPageVO selectPage(UserPageDTO dto);


    /**
     * 根据id列表删除
     *
     * @param idList id列表
     * @return 成功数
     */
    Integer deleteInIdList(List<Long> idList);


    /**
     * 变更用户信息
     *
     * @param user id列表
     */
    void updateUser(UserUpdateDTO user);


    /**
     * 导出报表
     *
     * @param excelObj 导出对象
     * @param response 网络请求对象
     */
    void export(ExcelUserDTO excelObj, HttpServletResponse response) throws IOException;
}
